<html>
<head><meta charset="utf-8"><title>design meeting today · t-lang · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/index.html">t-lang</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html">design meeting today</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="198902589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198902589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198902589">(May 27 2020 at 14:51)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="1977">@T-lang</span> -- so it's been hard for me to keep the calendar up-to-date, but we had discussed the idea of talking about our roadmap/yearly plans today</p>



<a name="198902641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198902641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198902641">(May 27 2020 at 14:51)</a>:</h4>
<p>(In ~2 hours)</p>



<a name="198902664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198902664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198902664">(May 27 2020 at 14:51)</a>:</h4>
<p>This is the <a href="https://hackmd.io/Czx3MwkpQeiC2_e9XI8OIw">hackmd</a> that we had before</p>



<a name="198903269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198903269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198903269">(May 27 2020 at 14:55)</a>:</h4>
<p>I think what I had hoped is that we could try to be a bit "realistic" about who might actually do what, as well as amending the list</p>



<a name="198903467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198903467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198903467">(May 27 2020 at 14:56)</a>:</h4>
<p>But I think the other thing to do would be preparing a list of what edition changes we ought to be preparing for and trying to move those discussions forward</p>



<a name="198907706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198907706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198907706">(May 27 2020 at 15:20)</a>:</h4>
<p>I guess I'm not entirely sure if we have enough prep to make a productive meeting, but <span class="user-mention" data-user-id="116011">@Steve Klabnik</span> and I were talking about trying to prepare an RFC for a 2021 Edition and I'd like to think about what the lang team can contribute to that. I feel like the list of work that is in that hackmd is somehow "reasonable" and a helpful way for us to organize, but at the same time there is that <a href="https://github.com/rust-lang/rust/issues?page=2&amp;q=is%3Aopen+is%3Aissue+label%3AC-tracking-issue+label%3AT-lang">very long list</a> of unstable tracking issues, and I feel like it there is some need to wrangle those into a kind of order -- for example, maybe broken by categories, and with some notion of their importance.</p>



<a name="198907740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198907740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198907740">(May 27 2020 at 15:21)</a>:</h4>
<p>That seems clearly like work we cannot do in a  meeting. It's also clear that there are tons of minor improvements and things in there.</p>



<a name="198907790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198907790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198907790">(May 27 2020 at 15:21)</a>:</h4>
<p>Mixed in with a bunch of random stuff that seems pretty minor and stalled</p>



<a name="198921211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198921211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198921211">(May 27 2020 at 17:01)</a>:</h4>
<p>Is the plan to still, as much as possible, make all language changes available to all editions? Some of those items, at least near the top of the list such as <code>cfg(accessable(?))</code>, seem suitable for all editions.</p>
<p>With 2018, a lot of the "marketing materials" conflated "things added since 1.0 that are available in all editions" and "things you literally need to change your crate to 2018 edition to take advantage of". I think this was well intentioned but ultimately a bad move.</p>
<p>I hope that the 2021 edition marketing/messaging can focus on exactly and only the difference between edition=2018 and edition=2021, and not try to also say something like "now we have const <code>if</code>" or anything like that.</p>



<a name="198921280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198921280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198921280">(May 27 2020 at 17:01)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="1977">@T-lang</span> -- meeting starts now</p>



<a name="198921568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198921568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198921568">(May 27 2020 at 17:03)</a>:</h4>
<p><span class="user-mention" data-user-id="224471">@Lokathor</span> I'm conflating them :) in particular, I'm looking at the 2021 horizon as a planning unit to help us prioritize ("what can we get done in what time frame"), but I have also separated out "adaptations you need to opt into Rust 2021", which is the narrower concept you are thinking of</p>



<a name="198921942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198921942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198921942">(May 27 2020 at 17:06)</a>:</h4>
<p>that's fair as a planning timeline, yeah.</p>



<a name="198921989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198921989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198921989">(May 27 2020 at 17:06)</a>:</h4>
<p>(sadly can't make the meeting but I'll watch the vid later)</p>



<a name="198926810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198926810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198926810">(May 27 2020 at 17:46)</a>:</h4>
<p>Oh hey the example I was talking about for trait aliases was this one:</p>
<div class="codehilite"><pre><span></span><code>trait Future { type Output; }

trait TryFtuure: Future&lt;Output = Result&lt;Self::Ok, Self::Err&gt;&gt; {
    type Ok;
    type Err;
}
</code></pre></div>



<a name="198926841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198926841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198926841">(May 27 2020 at 17:46)</a>:</h4>
<p>this throws a "cycle detected when computing the supertraits of <code>TryFuture</code>" error</p>



<a name="198928362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/198928362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#198928362">(May 27 2020 at 17:59)</a>:</h4>
<p>Ah, yeah</p>



<a name="201871129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201871129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201871129">(Jun 24 2020 at 16:31)</a>:</h4>
<p>I can't make the meeting today because I realized I have a scheduling conflict, but <span class="user-mention" data-user-id="116083">@pnkfelix</span> should be able to kick off the cloud recording, and I hope to watch it afterwards.</p>



<a name="201872800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201872800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201872800">(Jun 24 2020 at 16:46)</a>:</h4>
<p>Can someone send me the invite link?</p>



<a name="201874792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201874792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201874792">(Jun 24 2020 at 17:01)</a>:</h4>
<p>i will in a sec</p>



<a name="201875261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201875261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201875261">(Jun 24 2020 at 17:04)</a>:</h4>
<p><a href="https://github.com/rust-lang/lang-team/issues/18">https://github.com/rust-lang/lang-team/issues/18</a></p>



<a name="201875309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201875309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201875309">(Jun 24 2020 at 17:05)</a>:</h4>
<p>Skill tree: <a href="https://static.turbo.fish/const-eval-skill-tree/skill-tree.html">https://static.turbo.fish/const-eval-skill-tree/skill-tree.html</a></p>



<a name="201875512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201875512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201875512">(Jun 24 2020 at 17:06)</a>:</h4>
<p>i'll be taking notes on <a href="https://hackmd.io/7BPJmbPuTRKLzNZ5cEQ5MQ">this hackmd</a></p>



<a name="201879368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201879368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201879368">(Jun 24 2020 at 17:37)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/51909#issuecomment-647643036">https://github.com/rust-lang/rust/issues/51909#issuecomment-647643036</a></p>



<a name="201880343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201880343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201880343">(Jun 24 2020 at 17:45)</a>:</h4>
<div class="codehilite"><pre><span></span><code><span class="k">const</span><span class="w"> </span><span class="k">fn</span> <span class="nf">evil</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="kt">usize</span> <span class="p">{</span><span class="w"> </span><span class="mi">2</span><span class="o">*</span><span class="p">(</span><span class="n">x</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">_</span><span class="w"> </span><span class="kt">usize</span><span class="p">)</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="201881436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201881436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201881436">(Jun 24 2020 at 17:54)</a>:</h4>
<p>to continue the analogy of "safety and const", you might imagine wanting to do a wrapper</p>
<div class="codehilite"><pre><span></span><code><span class="k">const</span><span class="w"> </span><span class="k">fn</span> <span class="nf">never_bad</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">unsafe</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">sometimes_bad</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">)</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">unsafe</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="k">fn</span> <span class="nf">sometimes_bad</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="kt">i32</span><span class="p">,</span><span class="w"> </span><span class="n">b</span>: <span class="kt">bool</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="kt">usize</span> <span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="c1">// unsafe because not known to be const-safe</span>
<span class="w">        </span><span class="k">unsafe</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mh">0xFF</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="201881718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201881718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201881718">(Jun 24 2020 at 17:56)</a>:</h4>
<p>or</p>
<div class="codehilite"><pre><span></span><code><span class="k">const</span><span class="w"> </span><span class="k">fn</span> <span class="nf">never_bad</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">unconst</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">sometimes_bad</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">)</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="n">unconst</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="k">fn</span> <span class="nf">sometimes_bad</span><span class="p">(</span><span class="n">x</span>: <span class="kp">&amp;</span><span class="kt">i32</span><span class="p">,</span><span class="w"> </span><span class="n">b</span>: <span class="kt">bool</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="kt">usize</span> <span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="c1">// unsafe because not known to be const-safe</span>
<span class="w">        </span><span class="n">unconst</span><span class="p">{</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">usize</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mh">0xFF</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="201883328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201883328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201883328">(Jun 24 2020 at 18:10)</a>:</h4>
<p>Some comments on the skill tree:</p>



<a name="201883364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201883364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201883364">(Jun 24 2020 at 18:10)</a>:</h4>
<p>What is the use case for "write to files from constants"?</p>



<a name="201883409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201883409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201883409">(Jun 24 2020 at 18:11)</a>:</h4>
<p>I would actually love to have "read from files in a constant", if we could arrange for the compiler to automatically recompile if the file changes.</p>



<a name="201883419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201883419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201883419">(Jun 24 2020 at 18:11)</a>:</h4>
<p>But what's the use case for writing to a file from a constant?</p>



<a name="201883649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201883649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201883649">(Jun 24 2020 at 18:13)</a>:</h4>
<p>FWIW I am very skeptical of any kind of host OS interaction during const-eval^^ that will be really hard to make sound (aka deterministic)</p>



<a name="201884196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884196">(Jun 24 2020 at 18:18)</a>:</h4>
<p>I don't think it's <em>less</em> deterministic than <code>include!</code> / <code>include_bytes!</code> / <code>include_str!</code></p>



<a name="201884299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884299">(Jun 24 2020 at 18:19)</a>:</h4>
<p><span class="user-mention silent" data-user-id="224471">Lokathor</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201884196">said</a>:</p>
<blockquote>
<p>I don't think it's <em>less</em> deterministic than <code>include!</code> / <code>include_bytes!</code> / <code>include_str!</code></p>
</blockquote>
<p>those cannot flow into the type system though</p>



<a name="201884309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884309">(Jun 24 2020 at 18:19)</a>:</h4>
<p>const generics rely in determinism of soundness</p>



<a name="201884316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884316">(Jun 24 2020 at 18:19)</a>:</h4>
<p>this is not "just" about reproducible builds</p>



<a name="201884378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884378">(Jun 24 2020 at 18:20)</a>:</h4>
<p>I don't think it'll be an issue for reproducible builds at all, as long as we detect changes and rebuild.</p>



<a name="201884395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884395">(Jun 24 2020 at 18:20)</a>:</h4>
<p>But could you explain what you mean by that flowing into the type system?</p>



<a name="201884396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884396">(Jun 24 2020 at 18:20)</a>:</h4>
<p>Could you give an example of "flow into the type system"</p>



<a name="201884405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884405">(Jun 24 2020 at 18:20)</a>:</h4>
<p>:)</p>



<a name="201884473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884473">(Jun 24 2020 at 18:21)</a>:</h4>
<p>Concretely: suppose I have a file containing 8 bytes, and I want to read that into a <code>const u64</code>.</p>



<a name="201884511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884511">(Jun 24 2020 at 18:21)</a>:</h4>
<div class="codehilite"><pre><span></span><code><span class="k">const</span><span class="w"> </span><span class="n">FOO</span>: <span class="kt">usize</span> <span class="o">=</span><span class="w"> </span><span class="o">&lt;</span><span class="n">read</span><span class="w"> </span><span class="n">from</span><span class="w"> </span><span class="n">file</span><span class="o">&gt;</span><span class="p">;</span><span class="w"></span>
<span class="k">fn</span> <span class="nf">foo</span><span class="p">(</span><span class="n">x</span>: <span class="nc">Type</span><span class="o">&lt;</span><span class="n">FOO</span><span class="o">&gt;</span><span class="p">)</span><span class="w"></span>
</code></pre></div>



<a name="201884535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884535">(Jun 24 2020 at 18:21)</a>:</h4>
<p>now we better make sure caller and callee agree on the value of FOO</p>



<a name="201884548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884548">(Jun 24 2020 at 18:21)</a>:</h4>
<p>Ah, const generics?</p>



<a name="201884572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884572">(Jun 24 2020 at 18:21)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201884309">said</a>:</p>
<blockquote>
<p>const generics rely in determinism of soundness</p>
</blockquote>
<p>yes const generics :)</p>



<a name="201884640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884640">(Jun 24 2020 at 18:22)</a>:</h4>
<p>Got it. Why is that a problem, though, as long as we evaluate the read once?</p>



<a name="201884642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884642">(Jun 24 2020 at 18:22)</a>:</h4>
<p>(or array sizes, really^^)</p>



<a name="201884651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884651">(Jun 24 2020 at 18:22)</a>:</h4>
<p>isn't slice.len already const? so don't we already have this problem</p>



<a name="201884714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884714">(Jun 24 2020 at 18:22)</a>:</h4>
<p><span class="user-mention silent" data-user-id="239881">Josh Triplett</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201884640">said</a>:</p>
<blockquote>
<p>Got it. Why is that a problem, though, as long as we evaluate the read once?</p>
</blockquote>
<p>we have to guarantee it is really just evaluated once. currently we can just recompute the constant any time and we know we get the same result.</p>



<a name="201884725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884725">(Jun 24 2020 at 18:23)</a>:</h4>
<p>It seems like this will have a hard requirement that you <em>have</em> to read in the data exactly once, and not re-read it assuming it'll be the same.</p>



<a name="201884776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884776">(Jun 24 2020 at 18:23)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201884714">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="239881">Josh Triplett</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201884640">said</a>:</p>
<blockquote>
<p>Got it. Why is that a problem, though, as long as we evaluate the read once?</p>
</blockquote>
<p>we have to guarantee it is really just evaluated once. currently we can just recompute the constant any time and we know we get the same result.</p>
</blockquote>
<p>That makes sense. So, "read from file in constant" would have, as a prerequisite, the ability to ensure that a constant (or some portion of a constant) is computed only once and never recomputed.</p>



<a name="201884801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884801">(Jun 24 2020 at 18:23)</a>:</h4>
<p>yes. and that throughout the entire crate graph.</p>



<a name="201884909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884909">(Jun 24 2020 at 18:24)</a>:</h4>
<p>Right.</p>



<a name="201884930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201884930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201884930">(Jun 24 2020 at 18:24)</a>:</h4>
<p>maybe our query system gets us that for free, but I dont know and I dont know if this constraints is something the people working on that system are aware of.</p>



<a name="201885129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885129">(Jun 24 2020 at 18:26)</a>:</h4>
<p>/me nods</p>



<a name="201885134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885134">(Jun 24 2020 at 18:26)</a>:</h4>
<p>ah <span class="user-mention" data-user-id="124288">@oli</span> did we forget to bring up <code>guaranteed_eq</code> or is that not a separate concern?</p>



<a name="201885220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885220">(Jun 24 2020 at 18:27)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> slice::len is const on Stable right now, and <code>include_bytes!</code> makes a slice, so we already have the issue with being able to read a file and then make a <code>usize</code> out of it.</p>



<a name="201885355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885355">(Jun 24 2020 at 18:28)</a>:</h4>
<p>hm... that feels different as this read happens way before CTFE even starts</p>



<a name="201885443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885443">(Jun 24 2020 at 18:29)</a>:</h4>
<p>Well if you had more power to const compute on file content it's probably sufficient to just have the current set of <code>include</code> macros to build up compile time disk access with</p>



<a name="201885469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885469">(Jun 24 2020 at 18:29)</a>:</h4>
<p>good point</p>



<a name="201885630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885630">(Jun 24 2020 at 18:30)</a>:</h4>
<p>Yeah, I would generally expect a compile-time file read to be approximately equivalent to slurping in the whole file via <code>include_bytes!</code> and then reading from the resulting const slice.</p>



<a name="201885687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885687">(Jun 24 2020 at 18:31)</a>:</h4>
<p><span class="user-mention silent" data-user-id="224471">Lokathor</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201885443">said</a>:</p>
<blockquote>
<p>Well if you had more power to const compute on file content it's probably sufficient to just have the current set of <code>include</code> macros to build up compile time disk access with</p>
</blockquote>
<p>that would also avoid having to do const heap allocations to hold that data</p>



<a name="201885714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885714">(Jun 24 2020 at 18:31)</a>:</h4>
<p>We might <em>theoretically</em> be able to optimize that to only depend on the bytes actually read, and only need recompiling if <em>those</em> bytes change, but that's an optimization, not a requirement.</p>



<a name="201885853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201885853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201885853">(Jun 24 2020 at 18:32)</a>:</h4>
<p>Does that implementation (making all file reads effectively do <code>include_bytes!</code> underneath) seem like one that could go on the roadmap?</p>



<a name="201886015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886015">(Jun 24 2020 at 18:34)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> would there be a problem with literally using <code>include_bytes!</code> and then "just" making all the necessary slice methods const?</p>



<a name="201886132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886132">(Jun 24 2020 at 18:34)</a>:</h4>
<p>btw this was a great meeting, I had several new insights and ideas just from having to structurally present the problem space :)</p>



<a name="201886162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886162">(Jun 24 2020 at 18:35)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> It'd be really nice to be able to write <code>std::fs::File::open(...)</code> and use functions that were written to operate on a <code>File</code>.</p>



<a name="201886218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886218">(Jun 24 2020 at 18:35)</a>:</h4>
<p>i think we should improve slices if they're not up to the task</p>



<a name="201886239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886239">(Jun 24 2020 at 18:36)</a>:</h4>
<p>More the latter than the former, I suppose; it's more about being able to use the same operations at compile-time and runtime.</p>



<a name="201886318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886318">(Jun 24 2020 at 18:36)</a>:</h4>
<p>As an example, run-time code may be written to not slurp in the whole file at once, so it reads a chunk at a time.</p>



<a name="201886382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886382">(Jun 24 2020 at 18:37)</a>:</h4>
<p>I always write code as operations on slices in memory but i also totally get that past a point it's unreasonable to pull the full file into memory at once</p>



<a name="201886425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886425">(Jun 24 2020 at 18:37)</a>:</h4>
<p>/me is eagerly awaiting some of the current work to make <code>Read</code> more efficient by not requiring an initialized buffer.</p>



<a name="201886465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886465">(Jun 24 2020 at 18:37)</a>:</h4>
<p><span class="user-mention silent" data-user-id="239881">Josh Triplett</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201886239">said</a>:</p>
<blockquote>
<p>More the latter than the former, I suppose; it's more about being able to use the same operations at compile-time and runtime.</p>
</blockquote>
<p>Slices implement <code>Read</code>, right? or there's an adapter for that?</p>



<a name="201886484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886484">(Jun 24 2020 at 18:37)</a>:</h4>
<p>/me not even using the Read trait because it's not in core ;_;</p>



<a name="201886626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886626">(Jun 24 2020 at 18:38)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> It's certainly possible to rewrite code to use traits that will work at compile time. I'm just suggesting that it'd be nice to be able to take code written to expect <code>File</code> and just run it.</p>



<a name="201886690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886690">(Jun 24 2020 at 18:39)</a>:</h4>
<p>But yes, <code>include_bytes!</code> plus const evaluation helps.</p>



<a name="201886706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886706">(Jun 24 2020 at 18:39)</a>:</h4>
<p>On a <em>completely</em> different note...</p>



<a name="201886760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886760">(Jun 24 2020 at 18:39)</a>:</h4>
<p><span class="user-mention silent" data-user-id="239881">Josh Triplett</span> <a href="#narrow/stream/213817-t-lang/topic/design.20meeting.20today/near/201886626">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> It's certainly possible to rewrite code to use traits that will work at compile time. I'm just suggesting that it'd be nice to be able to take code written to expect <code>File</code> and just run it.</p>
</blockquote>
<p>yeah... but OTOH much of that API does not make a lot of sense during CTFE I think (unless we also want to allow writes). and I dont think we want to implement this miri-style by hooking C FFI functions... but if we dont we end up with different MIR for const and runtime.</p>



<a name="201886915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886915">(Jun 24 2020 at 18:40)</a>:</h4>
<p>so basically, using literally <code>File</code> is <em>hard</em>. it is more likely we end up with <code>ConstFile</code>.</p>



<a name="201886990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201886990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201886990">(Jun 24 2020 at 18:41)</a>:</h4>
<p>operations that behave differently at compiletime and runtime is another thing we didnt get to today^^</p>



<a name="201887004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201887004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201887004">(Jun 24 2020 at 18:41)</a>:</h4>
<p>what if you make ConstFile just be "token compatible" with some portion of File</p>



<a name="201887022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201887022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201887022">(Jun 24 2020 at 18:41)</a>:</h4>
<p>anyway, I got to go... I'll catch up later</p>



<a name="201887023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201887023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201887023">(Jun 24 2020 at 18:41)</a>:</h4>
<p>Hooking C FFI functions doesn't seem right, no. Is there any way to tag the requisite low-level File methods so that MIR could easily implement them differently?</p>



<a name="201887147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201887147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201887147">(Jun 24 2020 at 18:42)</a>:</h4>
<p>(As in, "I'm calling the OS read method here, but this is the point at which CTFE should hook in and replace this operation", in a manner comparable to a lang-item?)</p>



<a name="201887178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201887178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201887178">(Jun 24 2020 at 18:42)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> Thank you for all the work and explanations.</p>



<a name="201895831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201895831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201895831">(Jun 24 2020 at 19:57)</a>:</h4>
<p>We can build a higher level API making certain file methods lang items, we're doing something like that for panicking. The question is mostly whether that's worth it. Sure you can now create a list of files and iterate over it, reading as you go, but since you can't check the file system for listing files in a directory i don't see many gains over a macro based solution which is very well defined already</p>



<a name="201895939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201895939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201895939">(Jun 24 2020 at 19:58)</a>:</h4>
<p>In theory, we could allow directory listings too, as long as the compiler treated them the same way: read the whole directory listing, and if it ever changes recompile.</p>



<a name="201896022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896022">(Jun 24 2020 at 19:59)</a>:</h4>
<p>I'm not sure how the query system could handle such an input</p>



<a name="201896070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896070">(Jun 24 2020 at 19:59)</a>:</h4>
<p>Ah, no it can, nevermind</p>



<a name="201896072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896072">(Jun 24 2020 at 19:59)</a>:</h4>
<p>Instead of <code>include_bytes!</code>, it would be something like <code>include_dir_listing!</code>. :)</p>



<a name="201896142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896142">(Jun 24 2020 at 20:00)</a>:</h4>
<p>Or <code>include_file_glob_list!</code>.</p>



<a name="201896161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896161">(Jun 24 2020 at 20:00)</a>:</h4>
<p>And you'd get back a <code>&amp;[Path]</code> or similar.</p>



<a name="201896173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896173">(Jun 24 2020 at 20:00)</a>:</h4>
<p>Oh i think we could use the libstd methods</p>



<a name="201896185"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896185" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896185">(Jun 24 2020 at 20:00)</a>:</h4>
<p>I have ideas now</p>



<a name="201896191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896191">(Jun 24 2020 at 20:00)</a>:</h4>
<p>:)</p>



<a name="201896227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896227">(Jun 24 2020 at 20:00)</a>:</h4>
<p>/me would <em>love</em> to see this, with the compiler handling the "when does this need rebuilding" details.</p>



<a name="201896251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896251">(Jun 24 2020 at 20:01)</a>:</h4>
<p>I can just see mountains of <code>build.rs</code> scripts evaporating as we speak. ;)</p>



<a name="201896261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896261">(Jun 24 2020 at 20:01)</a>:</h4>
<p>But you can only read files in the crate root's dir or subdirs</p>



<a name="201896280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896280">(Jun 24 2020 at 20:01)</a>:</h4>
<p>Reasonable.</p>



<a name="201896297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896297">(Jun 24 2020 at 20:01)</a>:</h4>
<p>(Or files that have been built, I hope. But those details can come later.)</p>



<a name="201896426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201896426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201896426">(Jun 24 2020 at 20:02)</a>:</h4>
<p>Can you open an issue on the const eval repo? (i'm still on mobile). I'll post my ideas there yomorrow</p>



<a name="201898277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201898277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201898277">(Jun 24 2020 at 20:17)</a>:</h4>
<p>Sure, I can do that.</p>



<a name="201898307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201898307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201898307">(Jun 24 2020 at 20:17)</a>:</h4>
<p>Should I open one for file read and another for directories, or one for both?</p>



<a name="201907932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201907932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201907932">(Jun 24 2020 at 21:47)</a>:</h4>
<p><a href="https://github.com/rust-lang/const-eval/issues/44">https://github.com/rust-lang/const-eval/issues/44</a><br>
<a href="https://github.com/rust-lang/const-eval/issues/45">https://github.com/rust-lang/const-eval/issues/45</a></p>



<a name="201907942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201907942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201907942">(Jun 24 2020 at 21:47)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> Thank you!</p>



<a name="201937936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201937936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201937936">(Jun 25 2020 at 07:06)</a>:</h4>
<p>Speaking of const stuff, <a href="https://github.com/rust-lang/rust/pull/72920">https://github.com/rust-lang/rust/pull/72920</a> is just waiting for a few T-lang checkboxes to be ticked ;)<br>
Cc <span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="125270">@scottmcm</span></p>



<a name="201951978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201951978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201951978">(Jun 25 2020 at 10:20)</a>:</h4>
<p>I edited <a href="https://hackmd.io/7BPJmbPuTRKLzNZ5cEQ5MQ">https://hackmd.io/7BPJmbPuTRKLzNZ5cEQ5MQ</a> a bit</p>



<a name="201951986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201951986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201951986">(Jun 25 2020 at 10:20)</a>:</h4>
<p>should this be linked from somewhere so it does not get lost?</p>



<a name="201994198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/201994198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#201994198">(Jun 25 2020 at 16:45)</a>:</h4>
<p>The hackmd should probably either end up in the lang team repo or the const eval repo.</p>



<a name="202027477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/202027477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#202027477">(Jun 25 2020 at 21:28)</a>:</h4>
<p>I will post it into the lang team repo as minutes</p>



<a name="202027481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/202027481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#202027481">(Jun 25 2020 at 21:28)</a>:</h4>
<p>I'm about to upload the video</p>



<a name="202034489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/202034489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#202034489">(Jun 25 2020 at 22:42)</a>:</h4>
<p><a href="https://youtu.be/b3p2vX8wZ_c">video uploading here</a> -- if someone wants to open a PR against lang-team repo to that video, would be great, else I'll try to do it lat now)</p>
<div class="youtube-video message_inline_image"><a data-id="b3p2vX8wZ_c" href="https://youtu.be/b3p2vX8wZ_c"><img src="https://i.ytimg.com/vi/b3p2vX8wZ_c/default.jpg"></a></div>



<a name="202175745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/202175745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#202175745">(Jun 27 2020 at 08:50)</a>:</h4>
<p>Another PR that was mentioned in the design meeting that is waiting for T-lang checkboxes is <a href="https://github.com/rust-lang/rust/pull/72920#issuecomment-640694243">https://github.com/rust-lang/rust/pull/72920#issuecomment-640694243</a> (<code>transmute</code> in constants, but not const fn). There's no reason not to do this, as we already allow unions, so transmute will just give users a more direct way of doing the same thing. Missing checkboxes: <span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="127859">@Taylor Cramer</span> <span class="user-mention" data-user-id="125270">@scottmcm</span> <span class="user-mention" data-user-id="256759">@boats</span></p>



<a name="202353696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/design%20meeting%20today/near/202353696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/design.20meeting.20today.html#202353696">(Jun 29 2020 at 18:59)</a>:</h4>
<p>opened a PR with <a href="https://github.com/rust-lang/lang-team/pull/30">minutes taken from the hackmd document</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>